package com.youlu.campus.service.activity;

import com.youlu.campus.entity.UserActivityFootPrint;
import com.youlu.campus.entity.VO.req.UserActivityFootPrintQueryVO;

import java.util.HashMap;
import java.util.List;

public interface ActivityFootPrintService {
    /**
     * 获取活动足迹列表,
     *
     * @param req
     * @return
     */
    List<UserActivityFootPrint> getUserActivityFootPrint(UserActivityFootPrintQueryVO req);

    /**
     * 获取活动足迹,
     *
     * @param req
     * @return
     */
    UserActivityFootPrint getUserActivityFootPrintByTaskId(UserActivityFootPrintQueryVO req);

    /**
     * 添加足迹
     *
     * @param req
     * @return
     */
    boolean createUserActivityFootPrint(UserActivityFootPrint req);

    /**
     * 添加任务足迹
     *
     * @param req
     * @return
     */
    boolean createUserActivityTaskFootPrint(UserActivityFootPrint req);

    /**
     * 删除足迹
     *
     * @param req
     * @return
     */
    boolean deleteUserActivityFootPrint(UserActivityFootPrint req);

    /**
     * 删除任务足迹
     *
     * @param req
     * @return
     */
    boolean deleteUserActivityTaskFootPrint(UserActivityFootPrint req);

    /**
     * 用户是否有足迹
     *
     * @param userId
     * @param activityId
     * @return
     */
    boolean hasUserActivityFootPrint(String userId, String activityId);

    /**
     * 获取相关数量
     *
     * @param userId
     * @param activityId
     * @param taskBizType
     * @return
     */
    HashMap<Integer, Integer> getCount(String userId, String activityId, String taskBizType);


    boolean updateUserActivityFootPrint(UserActivityFootPrint req);

    boolean batchUpdatePrint(UserActivityFootPrint req);
}
